To explore ephedra recovery following clipping. Year two in a long-term shrub removal experiment. Aboveground clipping. Panoche Hills Ecological Reserve.
Removal done by A. Liczner, A. Filazzola, T. Noble, and M. Westphal. Loss of shrub effects on animals experiment separate from this survey initiated by A. Liczner and completed 2016. Eva Gruber surveyed for resprouting.
library(tidyverse)
library(plotly)
data <- read_csv("data/EH.recovery.2016.csv")
data
## # A tibble: 40 × 8
## date census ID length width height resprout observations
## <chr> <chr> <int> <dbl> <dbl> <dbl> <int> <chr>
## 1 april.2013 pre.2 137 2.5 3.0 1.40 NA <NA>
## 2 april.2013 pre.2 146 4.4 3.8 1.50 NA <NA>
## 3 april.2013 pre.2 182 4.9 3.0 1.90 NA <NA>
## 4 april.2013 pre.2 183 4.3 3.3 1.70 NA <NA>
## 5 april.2013 pre.2 197 2.9 3.6 1.50 NA <NA>
## 6 april.2013 pre.2 200 1.9 1.2 0.70 NA <NA>
## 7 april.2013 pre.2 217 1.9 1.3 1.00 NA <NA>
## 8 april.2013 pre.2 245 4.3 4.6 1.28 NA <NA>
## 9 april.2013 pre.2 271 3.3 4.5 1.40 NA <NA>
## 10 april.2013 pre.2 273 2.6 0.3 1.30 NA <NA>
## # ... with 30 more rows
data <- data %>% mutate(volume = ((length + width)/2)^3*3.14*(1/3)) %>% arrange(desc(resprout))
#current volume used####
#data viz
nov.2016 <- data %>% filter(date == "nov.2016") #only resurvey
p1 <- ggplot(nov.2016, aes(resprout, weight= volume)) +
geom_histogram(binwidth = 2, fill = "dodgerblue") +
xlab("number of shoots resprouted") +
ylab("relative weighted frequency by current volume")
ggplotly(p1)
p1.1 <- ggplot(nov.2016, aes(ID, resprout)) +
geom_point(aes(size = volume), color = "dodgerblue")
ggplotly(p1.1)
nov.2016 <- nov.2016 %>% filter(resprout < 15) #filter out my post hoc classifications
p2 <- ggplot(nov.2016, aes(volume, resprout)) +
geom_point(color = "dodgerblue") +
xlab("current shrub volume") +
ylab("number of resprouted shoots") +
geom_smooth(method = lm)
ggplotly(p2)
#simple model
m1 <- glm(resprout ~ volume, data = nov.2016)
summary(m1)
##
## Call:
## glm(formula = resprout ~ volume, data = nov.2016)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -3.9476 -1.9340 -0.7416 0.9654 7.2943
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.94757 0.97041 4.068 0.000895 ***
## volume 0.25031 0.06696 3.738 0.001793 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for gaussian family taken to be 8.557791)
##
## Null deviance: 256.50 on 17 degrees of freedom
## Residual deviance: 136.92 on 16 degrees of freedom
## AIC: 93.605
##
## Number of Fisher Scoring iterations: 2
anova(m1, test = "Chisq")
## Analysis of Deviance Table
##
## Model: gaussian, link: identity
##
## Response: resprout
##
## Terms added sequentially (first to last)
##
##
## Df Deviance Resid. Df Resid. Dev Pr(>Chi)
## NULL 17 256.50
## volume 1 119.58 16 136.93 0.0001855 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#setup volume####
setup <- data %>% filter(date == "april.2013") %>%
select(ID, volume) %>% rename(setup.vol = volume)
merged.data <- left_join(nov.2016, setup)
#repeat all above worflow code
p3 <- ggplot(merged.data, aes(resprout, weight= setup.vol)) +
geom_histogram(binwidth = 2, fill = "dodgerblue") +
xlab("number of shoots resprouted") +
ylab("relative weighted frequency by setup volume")
ggplotly(p3)
p3.1 <- ggplot(merged.data, aes(ID, resprout)) +
geom_point(aes(size = setup.vol), color = "dodgerblue")
ggplotly(p3.1)
merged.data <- merged.data %>% filter(resprout < 15) #filter out my post hoc classifications
p4 <- ggplot(merged.data, aes(setup.vol, resprout)) +
geom_point(color = "dodgerblue") +
xlab("setup shrub volume") +
ylab("number of resprouted shoots") +
geom_smooth(method = lm)
ggplotly(p4)
#simple model
m2 <- glm(resprout ~ setup.vol, data = merged.data)
summary(m2)
##
## Call:
## glm(formula = resprout ~ setup.vol, data = merged.data)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -4.989 -2.966 -1.361 2.726 6.840
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4.78551 1.40967 3.395 0.0037 **
## setup.vol 0.05216 0.03352 1.556 0.1392
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for gaussian family taken to be 13.92356)
##
## Null deviance: 256.50 on 17 degrees of freedom
## Residual deviance: 222.78 on 16 degrees of freedom
## AIC: 102.37
##
## Number of Fisher Scoring iterations: 2
anova(m2, test = "Chisq")
## Analysis of Deviance Table
##
## Model: gaussian, link: identity
##
## Response: resprout
##
## Terms added sequentially (first to last)
##
##
## Df Deviance Resid. Df Resid. Dev Pr(>Chi)
## NULL 17 256.50
## setup.vol 1 33.723 16 222.78 0.1196